capx policy plugin: code-as-policy agents via CaP-X perception servers#140
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes: cubepick out of profile (e2e gets its own joint-space mock), gripper located via dim_labels/semantics not positional convention, proprioception via single state field like build_toolset, drop the unneeded PNG reader, export encode_png, agent bump corrected to 0.12.0, failure-budget semantics, graspnet client defaults (forward_passes=2), pyroki launch has no CLI parsing, approver guardrails are a CLI default not a framework guarantee. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds the wire selector and ResponsesClient/AssistantMessage to the reused agent surface, fixes two stale CubePick e2e references, defines empty-grasp normalization to (0,4,4)/(0,), and pins _motion.py to the agent toolset's DeltaLimitApprover-safe step-limit derivation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pyroki /ik speaks the full actuated config (strip to arm dof, full config is the warm start), execution report lands in the transcript eagerly since chunk meta is a dead channel, depth extra keys accept a zero-arg callable to keep TrialRecords small, delta-limit claim scoped to within-chunk. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pins gripper polarity (high=open, gripper_open_is_high override), reimplements observation formatting instead of importing agent privates, disambiguates request_timeout_s (total budget, min(remaining,30) per attempt) and max_code_failures scope, states the world==base frame assumption for extrinsics and IK. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Critique round 5: READY with this one minor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, parse prose-wrapped replies Fresh-eyes review round 1, three minors: the documented obs['extrinsics'] @ pose idiom now works when embodiments provide extras as zero-arg callables (the README-recommended form); MotionQueue rejects offset boxes whose float grid is coarser than the per-step budget, matching the agent toolset's guard the plan claims to reproduce; control words tolerate punctuation and case, and a reply wrapping its fenced code in prose executes the fenced block instead of burning a SyntaxError turn. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fresh-eyes review round 2: membership decides absence so a KeyError from a broken embodiment callable no longer masquerades as a missing key. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #139
Adds
plugins/inspect-robots-capx: acapxpolicy where the LLM writes Python per turn against SAM3 / Contact-GraspNet / Pyroki helpers (CaP-X's served models, spoken over the wire with no capx dependency) plus motion primitives that queue speed-limited joint targets. The queue becomes the returnedActionChunk; the next turn feeds back code, stdout, and stderr in CaP-X's REGENERATE/FINISH style.Design in plans/0021-capx-policy-plugin.md. Notable decisions:
observation.extrakey convention, core untouched (plan section 6)Maintainer action before first release: create the
pypi-capxtrusted-publisher environment.🤖 Generated with Claude Code